package  
{
	import flash.display.MovieClip;
	import flash.ui.Keyboard;
	/**
	 * ...
	 * @author Rodrigo Forti
	 */
	public class Heroi extends MovieClip
	{		
		private var velocidade:Number;
		public var baixando:Boolean;
		public static var subindo:Boolean;
		private var baixandoDe:uint;
		private var download_atual:uint;
		private var luz:Object;
		public var listaPedacosHeroi:Array;
		public var filaDownload:Array;
		private var k:uint;
		public static var contador:uint = 0;
		
		public function Heroi() 
		{
			luz = this.getChildByName("luz1");
			baixando = false;
			subindo = false;
			velocidade = 10;
			download_atual = 24
			contador = 0;
			listaPedacosHeroi = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
			filaDownload = new Array();
		}
		
		public function update():void
		{	
			Input.onUpdate();
			if (baixando == false && subindo == false)
			{
				if (Input.isPressed(Keyboard.D))
				{
					this.x += velocidade;
				}
			
				if (Input.isPressed(Keyboard.A))
				{
					this.x -= velocidade;
				}
				
				if (Input.isPressed(Keyboard.W))
				{
					this.y -= velocidade;
				}
				
				if (Input.isPressed(Keyboard.S))
				{
					this.y += velocidade;
				}
			}
			
			else
			{
				if (luz.currentFrame == 30)
				{
					if (filaDownload.length >= 1)
					{
						k = filaDownload.pop();
						listaPedacosHeroi[k] = 1;
						luz = this.getChildByName("luz" + k);
						luz.gotoAndPlay(2);
						contador ++;
						download_atual = k;
					}
					
					else
					{
						Main.getInstance().listaInimigos[baixandoDe].subindo = false;
						download_atual = 24
						this.baixando = false;
					}
				}
				
			}
			
			if (baixando) {
				contorno.gotoAndStop("green");
			}else if (subindo) {
				contorno.gotoAndStop("red");
			}else {
				contorno.gotoAndStop("black");
			}
			
		}
		
		public function download(k:uint,i:uint):void
		{
			this.k = k;
			baixandoDe = i;
			if (download_atual == 24)
			{
				listaPedacosHeroi[k] = 1;
				luz = this.getChildByName("luz" + k);
				luz.gotoAndPlay(2);
				contador++
				download_atual = k;
			}
			
			else
			{
				filaDownload.push(k);
			}
			
			if (baixando == false)
			{
				baixando = true;
			}
			
		}
		
		public function upload(k:uint):void
		{
			subindo = true;
		}
		
	}

}